home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / demo / nara / nara.bas next >
Encoding:
BASIC Source File  |  1995-08-10  |  17.6 KB  |  468 lines

  1. 10 '*******************************************************************
  2. 20 '             GUI Evolution REMIX V1.0L10b 1995/07/23
  3. 30 '       「GUI Evolution REMIX」>==Convert==>「F-BASIC386V2.1」
  4. 40 '
  5. 50 '                      「NARA.BAS」
  6. 60 '*******************************************************************
  7. 70 CLEAR ,,,,4000,1024*300
  8. 80 DEF FONT"システム   12ドット"
  9. 90 SCREEN@2:CLS
  10. 100 VIEW(0,0)-(1023,511)
  11. 110 WINDOW(0,0)-(1023,511)
  12. 120 DIM ICON%(15):GOSUB *TOWNSDOG
  13. 130 DIM EXIT%(12):GOSUB *GUI_ICN_EXIT
  14. 140 DIM FW(40000),AWIN(76800),N$(20)
  15. 150 AND0$=CHR$(&H7F,&HFF,&H3F,&HFF,&H1F,&HFF,&H0F,&HFF,&H07,&HFF,&H03,&HFF,&H01,&HFF,&H00,&HFF,&H00,&H7F,&H00,&H3F,&H00,&H1F,&H00,&HFF,&H00,&HFF,&H18,&H7F,&H38,&H7F,&HFC,&H7F)
  16. 160 DOT0$=CHR$(&H00,&H00,&H00,&H00,&H40,&H00,&H20,&H00,&H50,&H00,&H38,&H00,&H5C,&H00,&H2E,&H00,&H5F,&H00,&H2F,&H80,&H5E,&H00,&H26,&H00,&H42,&H00,&H03,&H00,&H01,&H00,&H00,&H00)
  17. 170 CONST_SDKMAX&=32
  18. 180 CONST_SDKNAMELENMAX&=32
  19. 190 DIM SDKNAME$(CONST_SDKMAX&-1),WORK&(6*24*460\8),BTN%(416*2)
  20. 200 FOR I=0 TO CONST_SDKMAX&-1
  21. 210 SDKNAME$(I)=SPACE$(CONST_SDKNAMELENMAX&)
  22. 220 NEXT I
  23. 230 GOSUB *SDKINIT
  24. 240 IF SDKMAX& >= 0 THEN MENUOK&=1
  25. 250 IF SDKMAX& < 0 THEN SDKMAX&=0
  26. 260 GOTO *MAIN
  27. 270 *NOSIDEWORK_EXIST:BEEP:END
  28. 280 *EXIT
  29. 290 END
  30. 300 *SDKINIT
  31. 310 ADDR&=0
  32. 320 LOADM "sdkrun.rex",ADDR&
  33. 330 SDKRUN&=ADDR&
  34. 340 SDKNUM&=ADDR&+&H30
  35. 350 SDKGETNAME&=ADDR&+&H10
  36. 360 SDKMAX&=CALLM(SDKNUM&)
  37. 370 IF SDKMAX&=>0 THEN
  38. 380 FOR I&=0 TO SDKMAX&
  39. 390 SDKKEY$=SDKKEY$+CHR$(CALLM(SDKGETNAME&,I&,VARPTR(SDKNAME$(I&))))
  40. 400 NEXT I&
  41. 410 ENDIF
  42. 420 RETURN
  43. 430 *CONNECT
  44. 440 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
  45. 450 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),0,PSET
  46. 460 RETURN
  47. 470 *CONNECT2
  48. 480 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
  49. 490 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),7,PSET
  50. 500 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),0,PSET
  51. 510 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),0,PSET
  52. 520 RETURN
  53. 530 *CONNECTR
  54. 540 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),0,PSET
  55. 550 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
  56. 560 RETURN
  57. 570 *CONNECT2R
  58. 580 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),0,PSET
  59. 590 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),0,PSET
  60. 600 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
  61. 610 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),7,PSET
  62. 620 RETURN
  63. 630 *TOWNSDOG
  64. 640 DATA C,13,800D,401B,A374,7E7D,FDEA,FDED
  65. 650 DATA 3AE6,8067,8007,0,0,0,0,0
  66. 660 FOR I=0 TO 15
  67. 670 READ A$
  68. 680 POKE VARPTR(ICON%(I)),VAL("&H"+A$),2
  69. 690 NEXT
  70. 700 RETURN
  71. 710 *MOVE
  72. 720 'MOUSE 2,AND1$,DOT1$
  73. 730 OWX=WX:OWY=WY:OOWX=WX:OOWY=WY
  74. 740 HA=1:IX=MX-WX:IY=MY-WY
  75. 750 MOUSE 4,IX,IY,639-(WX+LONG_X(WIN)-MX),479-(WY+LONG_Y(WIN)-MY)
  76. 760 GET@A(WX,WY)-(WX+LONG_X(WIN),WY+LONG_Y(WIN)),AWIN
  77. 770 WHILE MX*MY=OMX*OMY
  78. 780 MX=MOUSE(0):MY=MOUSE(1)
  79. 790 IF MOUSE(2,0)=-1 THEN ELSE GOTO *UNDEL2
  80. 800 WEND
  81. 810 IF HA=1 THEN 830
  82. 820 LINE(OMX-IX,OMY-IY)-(OMX-IX+LONG_X(WIN),OMY-IY+LONG_Y(WIN)),XOR,,B
  83. 830 LINE(MX-IX,MY-IY)-(MX-IX+LONG_X(WIN),MY-IY+LONG_Y(WIN)),XOR,,B
  84. 840 OMX=MX:OMY=MY:HA=0
  85. 850 WX=MX-IX:WY=MY-IY
  86. 860 GOTO 770
  87. 870 *UNDEL2
  88. 880 LINE(OMX-IX,OMY-IY)-(OMX-IX+LONG_X(WIN),OMY-IY+LONG_Y(WIN)),XOR,,B
  89. 890 IF OOWX=WX AND OOWY=WY THEN GOTO 940
  90. 900 PUT@A(OWX,OWY)-(OWX+LONG_X(WIN),OWY+LONG_Y(WIN)),FW,,,,,OFFSET(WIN)
  91. 910 WX=MX-IX:WY=MY-IY
  92. 920 GET@A(WX,WY)-(WX+LONG_X(WIN),WY+LONG_Y(WIN)),FW,OFFSET(WIN)
  93. 930 PUT@A(WX,WY)-(WX+LONG_X(WIN),WY+LONG_Y(WIN)),AWIN
  94. 940 MOUSE 4,0,0,639,479
  95. 950 MOUSE 2,AND0$,DOT0$
  96. 960 OMX=-1000:OMY=-1000
  97. 970 RETURN
  98. 980 *GUI_ICN_EXIT
  99. 990 DATA 000E,000E,000E,000E,0000,000E,000E,001F,001F,803F,803F,C07F,E0FF
  100. 1000 FOR I=0 TO 12
  101. 1010 READ A$
  102. 1020 POKE VARPTR(EXIT%(I)),VAL("&H"+A$),2
  103. 1030 NEXT
  104. 1040 RETURN
  105. 1050 *GETWIN
  106. 1060 GET@A(LPX,PY)-(LPX+LP,PY+LPY),AWIN
  107. 1070 LINE(LPX,PY)-(LPX+LP,PY+LPY),PSET,0,BF
  108. 1080 LINE(LPX+1,PY+1)-(LPX+LP-3,PY+LPY-3),PSET,7,BF
  109. 1090 RETURN
  110. 1100 *PUTWIN
  111. 1110 PUT@A(LPX,PY)-(LPX+LP,PY+LPY),AWIN
  112. 1120 RETURN
  113. 1130 *PULLDOWNMENU
  114. 1140 LPX=X1:LP=WDX
  115. 1150 PY=Y2+1:LOX=X2
  116. 1160 LPY=N*17+3:GOSUB *GETWIN
  117. 1170 FOR I=0 TO N-1
  118. 1180 IF N$(I)="NULL" THEN
  119. 1190 LINE(LPX+5,PY+9+17*I)-(LPX+LP-5,PY+9+17*I),PSET,0
  120. 1200 ELSE
  121. 1210 SYMBOL(LPX+10,PY+4+17*I),N$(I),.75!,.75!,0
  122. 1220 ENDIF
  123. 1230 NEXT
  124. 1240 A=-2:TMP=-20
  125. 1250 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1):A=(MY-PY-1)\17
  126. 1260 IF MY=<PY-1 THEN 1370 ELSE IF MX<LPX OR MX>LPX+LP+1 OR MY>PY+I*17 THEN A=-1:GOTO 1290
  127. 1270 IF A=TMP THEN GOTO 1300
  128. 1280 IF N$(A)="NULL" THEN A=-3 ELSE LINE(LPX+1,A*17+PY+1)-(LPX+LP-3,A*17+PY+17),XOR,,BF
  129. 1290 IF TMP=>0 THEN LINE(LPX+1,TMP*17+PY+1)-(LPX+LP-3,TMP*17+PY+17),XOR,,BF
  130. 1300 TMP=A:WEND
  131. 1310 IF A=-2 THEN
  132. 1320 WHILE MOUSE(2,0)=0:WEND
  133. 1330 GOTO 1240
  134. 1340 ELSE
  135. 1350 GOTO 1380
  136. 1360 ENDIF
  137. 1370 IF MX>=X1 AND MX<=LOX THEN A=-2:GOTO 1290 ELSE A=-3
  138. 1380 GOSUB *PUTWIN
  139. 1390 RETURN
  140. 1400 *ABOUT
  141. 1410 WIN=0
  142. 1420 WINX(WIN)=172
  143. 1430 WINY(WIN)=157
  144. 1440 LONG_X(WIN)=266
  145. 1450 LONG_Y(WIN)=188
  146. 1460 OFFSET(WIN+1)=(LONG_X(WIN)*LONG_Y(WIN))/8+LONG_X(WIN)
  147. 1470 GET@A(WINX(WIN),WINY(WIN))-(WINX(WIN)+LONG_X(WIN),WINY(WIN)+LONG_Y(WIN)),FW,OFFSET(WIN)
  148. 1480 LINE(WINX(WIN)+0,WINY(WIN)+0)-(WINX(WIN)+266,WINY(WIN)+188),PSET,%113,BF
  149. 1490 X1=WINX(WIN)+0:Y1=WINY(WIN)+0:X2=WINX(WIN)+266:Y2=WINY(WIN)+188:GOSUB *CONNECT2
  150. 1500 LINE(WINX(WIN)+2,WINY(WIN)+2)-(WINX(WIN)+264,WINY(WIN)+186),PSET,%113,BF
  151. 1510 X1=WINX(WIN)+2:Y1=WINY(WIN)+2:X2=WINX(WIN)+264:Y2=WINY(WIN)+186:GOSUB *CONNECT
  152. 1520 LINE(WINX(WIN)+6,WINY(WIN)+6)-(WINX(WIN)+260,WINY(WIN)+182),PSET,%113,BF
  153. 1530 X1=WINX(WIN)+6:Y1=WINY(WIN)+6:X2=WINX(WIN)+260:Y2=WINY(WIN)+182:GOSUB *CONNECTR
  154. 1540 SYMBOL(WINX(WIN)+30,WINY(WIN)+14),"修学旅行写真集ビュアーV1.0",.75!,.75!,6,,,8
  155. 1550 SYMBOL(WINX(WIN)+12,WINY(WIN)+43),"Program:NOI’z(高橋英彦)",.75!,.75!,%3
  156. 1560 SYMBOL(WINX(WIN)+12,WINY(WIN)+58),"REXFILE:MUMMY(頭脳圧搾工場仙台)様",.75!,.75!,%3
  157. 1570 SYMBOL(WINX(WIN)+12,WINY(WIN)+72),"Special Thanks:中3の皆さん",.75!,.75!,%3
  158. 1580 SYMBOL(WINX(WIN)+60,WINY(WIN)+112),"FreeMemory"+STR$(FRE(4))+"byte(s)",.75!,.75!,%4
  159. 1590 LINE(WINX(WIN)+110,WINY(WIN)+153)-(WINX(WIN)+159,WINY(WIN)+176),PSET,%113,BF
  160. 1600 X1=WINX(WIN)+110:Y1=WINY(WIN)+153:X2=WINX(WIN)+159:Y2=WINY(WIN)+176:GOSUB *CONNECT
  161. 1610 SYMBOL(WINX(WIN)+120,WINY(WIN)+159),"確 認",.75!,.75!,7
  162. 1620 WHILE MOUSE(2,0)=0:WEND:MX=MOUSE(0):MY=MOUSE(1)
  163. 1630 IF MX>=WINX(WIN)+110 AND MY>=WINY(WIN)+153 AND MX<=WINX(WIN)+159 AND MY<=WINY(WIN)+176 THEN GOTO *確認
  164. 1640 IF MX>=WINX(WIN) AND MY>=WINY(WIN) AND MX<=WINX(WIN)+LONG_X(WIN) AND MY<=WINY(WIN)+LONG_Y(WIN) THEN GOSUB *MOVEABOUT:GOTO 1620
  165. 1650 GOTO 1620
  166. 1660 *確認
  167. 1670 LINE(WINX(WIN)+111,WINY(WIN)+154)-(WINX(WIN)+158,WINY(WIN)+175),XOR,,BF
  168. 1680 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  169. 1690 IF MX>=WINX(WIN)+110 AND MY>=WINY(WIN)+153 AND MX<=WINX(WIN)+159 AND MY<=WINY(WIN)+176 ELSE LINE(WINX(WIN)+111,WINY(WIN)+154)-(WINX(WIN)+158,WINY(WIN)+175),XOR,,BF:GOTO 1620
  170. 1700 WEND
  171. 1710 LINE(WINX(WIN)+111,WINY(WIN)+154)-(WINX(WIN)+158,WINY(WIN)+175),XOR,,BF
  172. 1720 PUT@A(WINX(WIN),WINY(WIN))-(WINX(WIN)+LONG_X(WIN),WINY(WIN)+LONG_Y(WIN)),FW,,,,,OFFSET(WIN)
  173. 1730 RETURN
  174. 1740 *MOVEABOUT
  175. 1750 WX=WINX(WIN):WY=WINY(WIN)
  176. 1760 GOSUB *MOVE
  177. 1770 WINX(WIN)=WX:WINY(WIN)=WY
  178. 1780 RETURN
  179. 1790 *APHOTO
  180. 1800 WIN=0
  181. 1810 WINX(WIN)=186
  182. 1820 WINY(WIN)=197
  183. 1830 LONG_X(WIN)=242
  184. 1840 LONG_Y(WIN)=114
  185. 1850 OFFSET(WIN+1)=(LONG_X(WIN)*LONG_Y(WIN))/8+LONG_X(WIN)
  186. 1860 GET@A(WINX(WIN),WINY(WIN))-(WINX(WIN)+LONG_X(WIN),WINY(WIN)+LONG_Y(WIN)),FW,OFFSET(WIN)
  187. 1870 LINE(WINX(WIN)+0,WINY(WIN)+0)-(WINX(WIN)+242,WINY(WIN)+114),PSET,%113,BF
  188. 1880 X1=WINX(WIN)+0:Y1=WINY(WIN)+0:X2=WINX(WIN)+242:Y2=WINY(WIN)+114:GOSUB *CONNECT2
  189. 1890 LINE(WINX(WIN)+2,WINY(WIN)+2)-(WINX(WIN)+240,WINY(WIN)+112),PSET,%113,BF
  190. 1900 X1=WINX(WIN)+2:Y1=WINY(WIN)+2:X2=WINX(WIN)+240:Y2=WINY(WIN)+112:GOSUB *CONNECT
  191. 1910 LINE(WINX(WIN)+6,WINY(WIN)+6)-(WINX(WIN)+236,WINY(WIN)+108),PSET,%113,BF
  192. 1920 X1=WINX(WIN)+6:Y1=WINY(WIN)+6:X2=WINX(WIN)+236:Y2=WINY(WIN)+108:GOSUB *CONNECTR
  193. 1930 SYMBOL(WINX(WIN)+106,WINY(WIN)+26),"只今",.75!,.75!,7
  194. 1940 PAGE$=AKCNV$(RIGHT$(STR$(PAGE),LEN(STR$(PAGE))-1))
  195. 1950 SYMBOL(WINX(WIN)+50,WINY(WIN)+47),"0~9ページ中"+PAGE$+"ページ",.75!,.75!,4
  196. 1960 LINE(WINX(WIN)+92,WINY(WIN)+78)-(WINX(WIN)+141,WINY(WIN)+102),PSET,%113,BF
  197. 1970 X1=WINX(WIN)+92:Y1=WINY(WIN)+78:X2=WINX(WIN)+141:Y2=WINY(WIN)+102:GOSUB *CONNECT
  198. 1980 SYMBOL(WINX(WIN)+102,WINY(WIN)+85),"確 認",.75!,.75!,7
  199. 1990 WHILE MOUSE(2,0)=0:WEND:MX=MOUSE(0):MY=MOUSE(1)
  200. 2000 IF MX>=WINX(WIN)+92 AND MY>=WINY(WIN)+78 AND MX<=WINX(WIN)+141 AND MY<=WINY(WIN)+102 THEN GOTO *確認2
  201. 2010 IF MX>=WINX(WIN) AND MY>=WINY(WIN) AND MX<=WINX(WIN)+LONG_X(WIN) AND MY<=WINY(WIN)+LONG_Y(WIN) THEN GOSUB *MOVEAPHOTO:GOTO 1990
  202. 2020 GOTO 1990
  203. 2030 *確認2
  204. 2040 LINE(WINX(WIN)+93,WINY(WIN)+79)-(WINX(WIN)+140,WINY(WIN)+101),XOR,,BF
  205. 2050 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  206. 2060 IF MX>=WINX(WIN)+92 AND MY>=WINY(WIN)+78 AND MX<=WINX(WIN)+141 AND MY<=WINY(WIN)+102 ELSE LINE(WINX(WIN)+93,WINY(WIN)+79)-(WINX(WIN)+140,WINY(WIN)+101),XOR,,BF:GOTO 1990
  207. 2070 WEND
  208. 2080 LINE(WINX(WIN)+93,WINY(WIN)+79)-(WINX(WIN)+140,WINY(WIN)+101),XOR,,BF
  209. 2090 PUT@A(WINX(WIN),WINY(WIN))-(WINX(WIN)+LONG_X(WIN),WINY(WIN)+LONG_Y(WIN)),FW,,,,,OFFSET(WIN)
  210. 2100 RETURN
  211. 2110 *MOVEAPHOTO
  212. 2120 WX=WINX(WIN):WY=WINY(WIN)
  213. 2130 GOSUB *MOVE
  214. 2140 WINX(WIN)=WX:WINY(WIN)=WY
  215. 2150 RETURN
  216. 2160 *MAIN
  217. 2170 MOUSE 0
  218. 2180 MOUSE 2,AND0$,DOT0$,MPX(0),MPY(0)
  219. 2190 MOUSE 1,320,240,1
  220. 2200 LINE(0,0)-(640,480),PSET,%113,BF
  221. 2210 X1=0:Y1=0:X2=639:Y2=19:GOSUB *CONNECT
  222. 2220 LINE(0,0)-(136,19),PSET,%0,BF
  223. 2230 X1=0:Y1=0:X2=136:Y2=19:GOSUB *CONNECT2
  224. 2240 SYMBOL(25,4),"修学旅行写真集",.75!,.75!,7
  225. 2250 SYMBOL(24,4),"修学旅行写真集",.75!,.75!,7
  226. 2260 LINE(600,0)-(619,19),PSET,%0,BF
  227. 2270 X1=600:Y1=0:X2=619:Y2=19:GOSUB *CONNECT2
  228. 2280 LINE(0,31)-(639,48),PSET,%6,BF
  229. 2290 X1=0:Y1=31:X2=639:Y2=48:GOSUB *CONNECT
  230. 2300 PUT@(605,4)-(615,16),EXIT%,,7
  231. 2310 LINE(575,0)-(594,19),PSET,%0,BF
  232. 2320 X1=575:Y1=0:X2=594:Y2=19:GOSUB *CONNECT2
  233. 2330 LINE(281,31)-(323,48),PSET,2,BF
  234. 2340 X1=281:Y1=31:X2=323:Y2=48:GOSUB *CONNECT
  235. 2350 LINE(238,31)-(280,48),PSET,%5,BF
  236. 2360 X1=238:Y1=31:X2=280:Y2=48:GOSUB *CONNECT
  237. 2370 LINE(324,31)-(370,48),PSET,%5,BF
  238. 2380 X1=324:Y1=31:X2=370:Y2=48:GOSUB *CONNECT
  239. 2390 LINE(371,31)-(417,48),PSET,%2,BF
  240. 2400 X1=371:Y1=31:X2=417:Y2=48:GOSUB *CONNECT
  241. 2410 LINE(191,31)-(237,48),PSET,%2,BF
  242. 2420 X1=191:Y1=31:X2=237:Y2=48:GOSUB *CONNECT
  243. 2430 PUT@(577,5)-(592,20),ICON%,,7
  244. 2440 SYMBOL(285,34),"ALL",.75!,.75!,7
  245. 2450 SYMBOL(286,34),"ALL",.75!,.75!,7
  246. 2460 SYMBOL(342,34),"次",.75!,.75!,7
  247. 2470 SYMBOL(343,34),"次",.75!,.75!,7
  248. 2480 SYMBOL(253,34),"前",.75!,.75!,7
  249. 2490 SYMBOL(254,34),"前",.75!,.75!,7
  250. 2500 SYMBOL(203,34),"最初",.75!,.75!,7
  251. 2510 SYMBOL(204,34),"最初",.75!,.75!,7
  252. 2520 SYMBOL(382,34),"最後",.75!,.75!,7
  253. 2530 SYMBOL(383,34),"最後",.75!,.75!,7
  254. 2540 FLNS=1
  255. 2550 FOR Y=0 TO 2
  256. 2560 FOR X=0 TO 2
  257. 2570 X1=X*213:Y1=50+Y*143:X2=X*213+212:Y2=192+Y*143:GOSUB *CONNECT
  258. 2580 X1=25+X*213:Y1=59+Y*143:X2=186+X*213:Y2=180+Y*143:GOSUB *CONNECTR
  259. 2590 X1=24+X*213:Y1=58+Y*143:X2=187+X*213:Y2=181+Y*143:GOSUB *CONNECT
  260. 2600 FLN$="NARAJ00"+RIGHT$(STR$(FLNS),LEN(STR$(FLNS))-1)+".TIF"
  261. 2610 LOAD@ FLN$,(26+X*213,60+Y*143)
  262. 2620 FLNS=FLNS+1
  263. 2630 NEXT
  264. 2640 NEXT
  265. 2650 WHILE MOUSE(2,0)=0:WEND:MX=MOUSE(0):MY=MOUSE(1):OSX=-100:OSY=-100
  266. 2660 IF MX>=0 AND MY>=50 AND MX<=638 AND MY<=478 THEN GOSUB *SELECTPHOTO
  267. 2670 IF MX>=0 AND MY>=0 AND MX<=136 AND MY<=19 THEN GOSUB *PULLNUMBER0
  268. 2680 IF MX>=600 AND MY>=0 AND MX<=619 AND MY<=19 THEN GOSUB *EXIT2
  269. 2690 IF MX>=575 AND MY>=0 AND MX<=594 AND MY<=19 THEN GOSUB *ABOUTPHOTO
  270. 2700 IF MX>=281 AND MY>=31 AND MX<=323 AND MY<=48 THEN GOSUB *ALL
  271. 2710 IF MX>=238 AND MY>=31 AND MX<=280 AND MY<=48 THEN GOSUB *BACK
  272. 2720 IF MX>=324 AND MY>=31 AND MX<=370 AND MY<=48 THEN GOSUB *NEXT
  273. 2730 IF MX>=371 AND MY>=31 AND MX<=417 AND MY<=48 THEN GOSUB *TOP
  274. 2740 IF MX>=191 AND MY>=31 AND MX<=237 AND MY<=48 THEN GOSUB *B
  275. 2750 GOTO 2650
  276. 2760 *SELECTPHOTO
  277. 2770 WHILE MOUSE(2,0)=-1
  278. 2780 MX=MOUSE(0):MY=MOUSE(1):SX=MX\213:SY=(MY-50)\143
  279. 2790 IF MX>=0 AND MY>=50 AND MX<=638 AND MY<=478 ELSE X1=OSX*213:Y1=OSY*143+50:X2=OSX*213+212:Y2=OSY*143+192:GOSUB *CONNECT:GOTO 2650
  280. 2800 IF OSX<>SX OR OSY<>SY THEN
  281. 2810 X1=OSX*213:Y1=OSY*143+50:X2=OSX*213+212:Y2=OSY*143+192:GOSUB *CONNECT
  282. 2820 X1=SX*213:Y1=SY*143+50:X2=SX*213+212:Y2=SY*143+192:GOSUB *CONNECTR
  283. 2830 ENDIF
  284. 2840 OSX=SX:OSY=SY
  285. 2850 WEND
  286. 2860 X1=OSX*213:Y1=OSY*143+50:X2=OSX*213+212:Y2=OSY*143+192:GOSUB *CONNECT
  287. 2870 GET@A(0,0)-(639,479),AWIN
  288. 2880 IF PAGE=0 THEN
  289. 2890 FLN$="NARAJ00"+RIGHT$(STR$(SY*3+SX+1),LEN(STR$(SY*3+SX+1))-1)+".JPG"
  290. 2900 SCREEN@1:LOAD@ FLN$
  291. 2910 WHILE MOUSE(2,0)=0:WEND
  292. 2920 SCREEN@2:PUT@A(0,0)-(639,479),AWIN:MOUSE 1,320,240,1:MOUSE 2,AND0$,DOT0$
  293. 2930 ENDIF
  294. 2940 IF PAGE>=1 AND PAGE<=8 THEN
  295. 2950 FLN$="NARAJ0"+RIGHT$(STR$(PAGE*9+SY*3+SX+1),LEN(STR$(PAGE*9+SY*3+SX+1))-1)+".JPG":PRINT FLN$
  296. 2960 SCREEN@1:LOAD@ FLN$
  297. 2970 WHILE MOUSE(2,0)=0:WEND
  298. 2980 SCREEN@2:PUT@A(0,0)-(639,479),AWIN:MOUSE 1,320,240,1:MOUSE 2,AND0$,DOT0$
  299. 2990 ENDIF
  300. 3000 IF PAGE=9 AND SY=0 THEN
  301. 3010 FLN$="NARAJ0"+RIGHT$(STR$(PAGE*9+SY*3+SX+1),LEN(STR$(PAGE*9+SY*3+SX+1))-1)+".JPG":PRINT FLN$
  302. 3020 SCREEN@1:LOAD@ FLN$
  303. 3030 WHILE MOUSE(2,0)=0:WEND
  304. 3040 SCREEN@2:PUT@A(0,0)-(639,479),AWIN:MOUSE 1,320,240,1:MOUSE 2,AND0$,DOT0$
  305. 3050 ENDIF
  306. 3060 RETURN
  307. 3070 *PULLNUMBER0
  308. 3080 FOR I=0 TO 1:LINE(I,I)-(136-I,19-I),PSET,0,B:NEXT
  309. 3090 IF SDKMAX&>0 THEN
  310. 3100 X1=0:Y1=0:X2=136:Y2=19:WDX=150:N=4+SDKMAX&
  311. 3110 N$(0)="あばうと・・・・"
  312. 3120 N$(1)="NULL"
  313. 3130 FOR I=2 TO 1+SDKMAX&
  314. 3140 N$(I)=SDKNAME$(I-1)
  315. 3150 NEXT
  316. 3160 N$(2+SDKMAX&)="NULL"
  317. 3170 N$(3+SDKMAX&)="QUIT"
  318. 3180 GOSUB *PULLDOWNMENU:X1=0:Y1=0:X2=136:Y2=19:GOSUB *CONNECT2
  319. 3190 IF A=0 THEN GOSUB *ABOUT:RETURN
  320. 3200 IF A=3+SDKMAX& THEN END
  321. 3210 IF A=>2 THEN
  322. 3220 SDKEXECNUM&=A-1
  323. 3230 RESULT&=CALLM(SDKRUN&,SDKEXECNUM&)
  324. 3240 ENDIF
  325. 3250 RETURN
  326. 3260 ELSE
  327. 3270 X1=0:Y1=0:X2=136:Y2=19:WDX=150:N=3
  328. 3280 N$(0)="あばうと・・・"
  329. 3290 N$(1)="NULL"
  330. 3300 N$(2)="終了"
  331. 3310 GOSUB *PULLDOWNMENU:X1=0:Y1=0:X2=136:Y2=19:GOSUB *CONNECT
  332. 3320 IF A=0 THEN GOSUB *ABOUT:RETURN
  333. 3330 IF A=2 THEN END
  334. 3340 RETURN
  335. 3350 ENDIF
  336. 3360 RETURN
  337. 3370 *EXIT2
  338. 3380 FOR I=0 TO 1
  339. 3390 LINE(600+I,0+I)-(619-I,19-I),PSET,%0,B
  340. 3400 NEXT
  341. 3410 X1=600:Y1=0:X2=619:Y2=19
  342. 3420 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  343. 3430 IF MX>=600 AND MY>=0 AND MX<=619 AND MY<=19 ELSE GOSUB *CONNECT2:RETURN
  344. 3440 WEND
  345. 3450 GOSUB *CONNECT2
  346. 3460 END
  347. 3470 RETURN
  348. 3480 *ABOUTPHOTO
  349. 3490 FOR I=0 TO 1
  350. 3500 LINE(575+I,0+I)-(594-I,19-I),PSET,%0,B
  351. 3510 NEXT
  352. 3520 X1=575:Y1=0:X2=594:Y2=19
  353. 3530 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  354. 3540 IF MX>=575 AND MY>=0 AND MX<=594 AND MY<=19 ELSE GOSUB *CONNECT2:RETURN
  355. 3550 WEND
  356. 3560 GOSUB *CONNECT2
  357. 3570 GOSUB *APHOTO
  358. 3580 RETURN
  359. 3590 *ALL
  360. 3600 X1=281:Y1=31:X2=323:Y2=48:GOSUB *CONNECTR
  361. 3610 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  362. 3620 IF MX>=281 AND MY>=31 AND MX<=323 AND MY<=48 ELSE GOSUB *CONNECT:RETURN
  363. 3630 WEND
  364. 3640 GOSUB *CONNECT
  365. 3650 M=1
  366. 3660 GET@A(0,0)-(639,479),AWIN
  367. 3670 SCREEN @1
  368. 3680 IF MOUSE(2,0)=-1 THEN SCREEN@ 2:PUT@A(0,0)-(639,479),AWIN:MOUSE 1,320,240,1:MOUSE 2,AND0$,DOT0$:RETURN
  369. 3690 IF M>=1 AND M<=9 THEN
  370. 3700 FLN$="NARAJ00"+RIGHT$(STR$(M),LEN(STR$(M))-1)+".JPG"
  371. 3710 LOAD@ FLN$
  372. 3720 ELSE
  373. 3730 FLN$="NARAJ0"+RIGHT$(STR$(M),LEN(STR$(M))-1)+".JPG"
  374. 3740 LOAD@ FLN$
  375. 3750 ENDIF
  376. 3760 M=M+1
  377. 3770 IF M>84 THEN SCREEN@ 2:PUT@A(0,0)-(639,479),AWIN:MOUSE 1,320,240,1:MOUSE 2,AND0$,DOT0$:RETURN
  378. 3780 GOTO 3680
  379. 3790 RETURN
  380. 3800 *BACK
  381. 3810 X1=238:Y1=31:X2=280:Y2=48:GOSUB *CONNECTR
  382. 3820 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  383. 3830 IF MX>=238 AND MY>=31 AND MX<=280 AND MY<=48 ELSE GOSUB *CONNECT:RETURN
  384. 3840 WEND
  385. 3850 GOSUB *CONNECT
  386. 3860 IF PAGE=0 THEN RETURN
  387. 3870 PAGE=PAGE-1
  388. 3880 IF PAGE>=1 AND PAGE<=8 THEN
  389. 3890 FOR Y=0 TO 2
  390. 3900 FOR X=0 TO 2
  391. 3910 FLN$="NARAJ0"+RIGHT$(STR$(PAGE*9+Y*3+X+1),LEN(STR$(PAGE*9+Y*3+X+1))-1)+".TIF"
  392. 3920 LOAD@ FLN$,(26+X*213,60+Y*143)
  393. 3930 NEXT
  394. 3940 NEXT
  395. 3950 ENDIF
  396. 3960 IF PAGE=0 THEN
  397. 3970 FOR Y=0 TO 2
  398. 3980 FOR X=0 TO 2
  399. 3990 FLN$="NARAJ00"+RIGHT$(STR$(PAGE*9+Y*3+X+1),LEN(STR$(PAGE*9+Y*3+X+1))-1)+".TIF"
  400. 4000 LOAD@ FLN$,(26+X*213,60+Y*143)
  401. 4010 NEXT
  402. 4020 NEXT
  403. 4030 ENDIF
  404. 4040 RETURN
  405. 4050 *NEXT
  406. 4060 X1=324:Y1=31:X2=370:Y2=48:GOSUB *CONNECTR
  407. 4070 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  408. 4080 IF MX>=324 AND MY>=31 AND MX<=370 AND MY<=48 ELSE GOSUB *CONNECT:RETURN
  409. 4090 WEND
  410. 4100 GOSUB *CONNECT
  411. 4110 IF PAGE=9 THEN RETURN
  412. 4120 PAGE=PAGE+1
  413. 4130 IF PAGE>=1 AND PAGE<=8 THEN
  414. 4140 FOR Y=0 TO 2
  415. 4150 FOR X=0 TO 2
  416. 4160 FLN$="NARAJ0"+RIGHT$(STR$(PAGE*9+Y*3+X+1),LEN(STR$(PAGE*9+Y*3+X+1))-1)+".TIF"
  417. 4170 LOAD@ FLN$,(26+X*213,60+Y*143)
  418. 4180 NEXT
  419. 4190 NEXT
  420. 4200 ENDIF
  421. 4210 IF PAGE=9 THEN
  422. 4220 Y=0
  423. 4230 FOR X=0 TO 2
  424. 4240 FLN$="NARAJ0"+RIGHT$(STR$(PAGE*9+Y*3+X+1),LEN(STR$(PAGE*9+Y*3+X+1))-1)+".TIF"
  425. 4250 LOAD@ FLN$,(26+X*213,60+Y*143)
  426. 4260 NEXT
  427. 4270 FOR Y=1 TO 2
  428. 4280 FOR X=0 TO 2
  429. 4290 LINE(26+X*213,60+Y*143)-(185+X*213,179+Y*143),PSET,%113,BF
  430. 4300 NEXT
  431. 4310 NEXT
  432. 4320 ENDIF
  433. 4330 RETURN
  434. 4340 *TOP
  435. 4350 X1=371:Y1=31:X2=417:Y2=48:GOSUB *CONNECTR
  436. 4360 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  437. 4370 IF MX>=371 AND MY>=31 AND MX<=417 AND MY<=48 ELSE GOSUB *CONNECT:RETURN
  438. 4380 WEND
  439. 4390 GOSUB *CONNECT
  440. 4400 IF PAGE=9 THEN RETURN
  441. 4410 PAGE=9
  442. 4420 Y=0
  443. 4430 FOR X=0 TO 2
  444. 4440 FLN$="NARAJ0"+RIGHT$(STR$(PAGE*9+Y*3+X+1),LEN(STR$(PAGE*9+Y*3+X+1))-1)+".TIF"
  445. 4450 LOAD@ FLN$,(26+X*213,60+Y*143)
  446. 4460 NEXT
  447. 4470 FOR Y=1 TO 2
  448. 4480 FOR X=0 TO 2
  449. 4490 LINE(26+X*213,60+Y*143)-(185+X*213,179+Y*143),PSET,%113,BF
  450. 4500 NEXT
  451. 4510 NEXT
  452. 4520 RETURN
  453. 4530 *B
  454. 4540 X1=191:Y1=31:X2=237:Y2=48:GOSUB *CONNECTR
  455. 4550 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  456. 4560 IF MX>=191 AND MY>=31 AND MX<=237 AND MY<=48 ELSE GOSUB *CONNECT:RETURN
  457. 4570 WEND
  458. 4580 GOSUB *CONNECT
  459. 4590 IF PAGE=0 THEN RETURN
  460. 4600 PAGE=0
  461. 4610 FOR Y=0 TO 2
  462. 4620 FOR X=0 TO 2
  463. 4630 FLN$="NARAJ00"+RIGHT$(STR$(PAGE*9+Y*3+X+1),LEN(STR$(PAGE*9+Y*3+X+1))-1)+".TIF"
  464. 4640 LOAD@ FLN$,(26+X*213,60+Y*143)
  465. 4650 NEXT
  466. 4660 NEXT
  467. 4670 RETURN
  468.